﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Core.Business.Domain.Repository;
using Core.Business.Domain.Entities;

namespace Core.Infra.Repository {
    public class CategoriaRepositoryFake : ICategoriaRepository{
        public IList<Categoria> GetAll() {
            return GetCategorias();
        }

        public Categoria GetBy(long id) {
            throw new NotImplementedException();
        }

        public void AddCategoria(Categoria categoria) {
            throw new NotImplementedException();
        }

        private List<Categoria> GetCategorias() {
            var list = new List<Categoria>();

            Categoria categoria = new Categoria("Transporte");
            categoria.AddSubCategoria("Combustível");
            categoria.SubCategorias[0].Id = 1;
            categoria.AddSubCategoria("Mecânico");
            categoria.SubCategorias[1].Id = 5;
            list.Add(categoria);

            categoria = new Categoria("Alimentação");
            categoria.AddSubCategoria("Mercado");
            categoria.SubCategorias[0].Id = 2;
            list.Add(categoria);

            categoria = new Categoria("Cultura");
            categoria.AddSubCategoria("Livros e revistas");
            categoria.SubCategorias[0].Id = 3;
            categoria.AddSubCategoria("Teatro");            
            categoria.SubCategorias[1].Id = 4;
            list.Add(categoria);

            for (int i = 1; i < list.Count(); i++) {
                list[i].Id = i;
            }
            return list;
        }
    }
}
